--config, utils (and bootstrapping)
require "config" --config flags
require "utils.utils"  --lots of utils I normally use
--here we go
--low level
require "socket"
require "id"
require "luabit"
--high level
require "system"
require "lfs"
require "crud"

--structures
require "vector"
require "color"

if CLIENT then
require "json"
require "projects.mom.client.main"
main()
end

if BROKER then
require "copas"
require "service"
require "json"
require "projects.mom.broker.main"
main()
end

if SERVER then
require "copas"
require "service"
require "json"
require "projects.mom.server.main"
main()
end

if KEPLER then
require "projects.kepler.main"
end
